diff options
| author | Mike Buland <eichlan@xagasoft.com> | 2012-01-09 18:40:29 -0700 |
|---|---|---|
| committer | Mike Buland <eichlan@xagasoft.com> | 2012-01-09 18:40:29 -0700 |
| commit | 18c7bede5b86234116a76fd6571e190b1eb9e711 (patch) | |
| tree | c675039b6ea29bc8ff706146072e23fdd89a6733 | |
| parent | be0230eb9ff1b08e45d79a28d39c0feea7869673 (diff) | |
| download | stage-18c7bede5b86234116a76fd6571e190b1eb9e711.tar.gz stage-18c7bede5b86234116a76fd6571e190b1eb9e711.tar.bz2 stage-18c7bede5b86234116a76fd6571e190b1eb9e711.tar.xz stage-18c7bede5b86234116a76fd6571e190b1eb9e711.zip | |
Actually works with windows now.
| -rw-r--r-- | mingw.bld | 2 | ||||
| -rw-r--r-- | src/interface.h | 2 | ||||
| -rw-r--r-- | src/interfaceconsole.cpp | 16 | ||||
| -rw-r--r-- | src/interfaceconsole.h | 2 | ||||
| -rw-r--r-- | src/interfacegats.cpp | 4 | ||||
| -rw-r--r-- | src/interfacegats.h | 2 | ||||
| -rw-r--r-- | src/main.cpp | 18 |
7 files changed, 36 insertions, 10 deletions
| @@ -53,7 +53,7 @@ target "stage.exe" | |||
| 53 | 53 | ||
| 54 | CXXFLAGS += "-O2 -frtti -fexceptions -Wall -Ilibbu++/support/windows -Isrc"; | 54 | CXXFLAGS += "-O2 -frtti -fexceptions -Wall -Ilibbu++/support/windows -Isrc"; |
| 55 | 55 | ||
| 56 | LDFLAGS += "-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mthreads -Wl -Wl,-subsystem,windows -lmingw32 -Llibbu++ -lbu++win -Llibbu++/support/windows -lbz2"; | 56 | LDFLAGS += "-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mthreads -Wl -lmingw32 -Llibbu++ -lbu++win -Llibbu++/support/windows -lbz2 -Wl,-subsystem,console"; |
| 57 | 57 | ||
| 58 | CXXFLAGS += "-Ilibbu++"; | 58 | CXXFLAGS += "-Ilibbu++"; |
| 59 | } | 59 | } |
diff --git a/src/interface.h b/src/interface.h index bc4bd06..7f46e98 100644 --- a/src/interface.h +++ b/src/interface.h | |||
| @@ -7,6 +7,8 @@ public: | |||
| 7 | Interface(); | 7 | Interface(); |
| 8 | virtual ~Interface(); | 8 | virtual ~Interface(); |
| 9 | 9 | ||
| 10 | virtual void run( class Game *pGame )=0; | ||
| 11 | |||
| 10 | virtual void display( const class SmlNode *pSml )=0; | 12 | virtual void display( const class SmlNode *pSml )=0; |
| 11 | }; | 13 | }; |
| 12 | 14 | ||
diff --git a/src/interfaceconsole.cpp b/src/interfaceconsole.cpp index 05ca56c..b30733a 100644 --- a/src/interfaceconsole.cpp +++ b/src/interfaceconsole.cpp | |||
| @@ -1,6 +1,7 @@ | |||
| 1 | #include "interfaceconsole.h" | 1 | #include "interfaceconsole.h" |
| 2 | 2 | ||
| 3 | #include "smlnode.h" | 3 | #include "smlnode.h" |
| 4 | #include "gamestate.h" | ||
| 4 | 5 | ||
| 5 | #include <bu/sio.h> | 6 | #include <bu/sio.h> |
| 6 | 7 | ||
| @@ -19,6 +20,21 @@ InterfaceConsole::~InterfaceConsole() | |||
| 19 | { | 20 | { |
| 20 | } | 21 | } |
| 21 | 22 | ||
| 23 | void InterfaceConsole::run( Game *pGame ) | ||
| 24 | { | ||
| 25 | GameState gs( pGame ); | ||
| 26 | gs.init(); | ||
| 27 | |||
| 28 | while( gs.isRunning() ) | ||
| 29 | { | ||
| 30 | char buf[1024]; | ||
| 31 | sio << sio.nl << "command> " << sio.flush; | ||
| 32 | fgets( buf, 1024, stdin ); | ||
| 33 | |||
| 34 | gs.execCommand( buf ); | ||
| 35 | } | ||
| 36 | } | ||
| 37 | |||
| 22 | void InterfaceConsole::appendToken( Bu::String &sCurLine, | 38 | void InterfaceConsole::appendToken( Bu::String &sCurLine, |
| 23 | Bu::String &sNextToken, int &iLineLen, int &iNextLen ) | 39 | Bu::String &sNextToken, int &iLineLen, int &iNextLen ) |
| 24 | { | 40 | { |
diff --git a/src/interfaceconsole.h b/src/interfaceconsole.h index 9272087..17b07e4 100644 --- a/src/interfaceconsole.h +++ b/src/interfaceconsole.h | |||
| @@ -12,6 +12,8 @@ public: | |||
| 12 | InterfaceConsole(); | 12 | InterfaceConsole(); |
| 13 | virtual ~InterfaceConsole(); | 13 | virtual ~InterfaceConsole(); |
| 14 | 14 | ||
| 15 | virtual void run( class Game *pGame ); | ||
| 16 | |||
| 15 | virtual void display( const class SmlNode *pSml ); | 17 | virtual void display( const class SmlNode *pSml ); |
| 16 | 18 | ||
| 17 | private: | 19 | private: |
diff --git a/src/interfacegats.cpp b/src/interfacegats.cpp index bd936c7..c14a8f2 100644 --- a/src/interfacegats.cpp +++ b/src/interfacegats.cpp | |||
| @@ -18,6 +18,10 @@ InterfaceGats::~InterfaceGats() | |||
| 18 | { | 18 | { |
| 19 | } | 19 | } |
| 20 | 20 | ||
| 21 | void InterfaceGats::run( class Game *pGame ) | ||
| 22 | { | ||
| 23 | } | ||
| 24 | |||
| 21 | void InterfaceGats::display( const SmlNode *pSml ) | 25 | void InterfaceGats::display( const SmlNode *pSml ) |
| 22 | { | 26 | { |
| 23 | switch( pSml->getType() ) | 27 | switch( pSml->getType() ) |
diff --git a/src/interfacegats.h b/src/interfacegats.h index b04abb3..ff1f760 100644 --- a/src/interfacegats.h +++ b/src/interfacegats.h | |||
| @@ -9,6 +9,8 @@ public: | |||
| 9 | InterfaceGats(); | 9 | InterfaceGats(); |
| 10 | virtual ~InterfaceGats(); | 10 | virtual ~InterfaceGats(); |
| 11 | 11 | ||
| 12 | virtual void run( class Game *pGame ); | ||
| 13 | |||
| 12 | virtual void display( const class SmlNode *pSml ); | 14 | virtual void display( const class SmlNode *pSml ); |
| 13 | }; | 15 | }; |
| 14 | 16 | ||
diff --git a/src/main.cpp b/src/main.cpp index 262e7c4..9df79a4 100644 --- a/src/main.cpp +++ b/src/main.cpp | |||
| @@ -3,6 +3,8 @@ | |||
| 3 | #include "gamestate.h" | 3 | #include "gamestate.h" |
| 4 | #include "options.h" | 4 | #include "options.h" |
| 5 | 5 | ||
| 6 | #include "interfaceplugger.h" | ||
| 7 | |||
| 6 | #include <stdlib.h> | 8 | #include <stdlib.h> |
| 7 | #include <time.h> | 9 | #include <time.h> |
| 8 | 10 | ||
| @@ -25,21 +27,19 @@ int main( int argc, char *argv[] ) | |||
| 25 | } | 27 | } |
| 26 | srandom( time( NULL ) ); | 28 | srandom( time( NULL ) ); |
| 27 | 29 | ||
| 30 | Interface *pIface = InterfacePlugger::getInstance().instantiate( | ||
| 31 | opt.sInterface | ||
| 32 | ); | ||
| 33 | |||
| 28 | GameBuilder bld; | 34 | GameBuilder bld; |
| 29 | bld.parse( opt.sFile ); | 35 | bld.parse( opt.sFile ); |
| 30 | Game *pGame = bld.getGame(); | 36 | Game *pGame = bld.getGame(); |
| 31 | 37 | ||
| 32 | GameState gs( pGame ); | 38 | pIface->run( pGame ); |
| 33 | gs.init(); | ||
| 34 | 39 | ||
| 35 | while( gs.isRunning() ) | 40 | delete pGame; |
| 36 | { | ||
| 37 | char buf[1024]; | ||
| 38 | sio << sio.nl << "command> " << sio.flush; | ||
| 39 | fgets( buf, 1024, stdin ); | ||
| 40 | 41 | ||
| 41 | gs.execCommand( buf ); | 42 | InterfacePlugger::getInstance().destroy( pIface ); |
| 42 | } | ||
| 43 | 43 | ||
| 44 | return 0; | 44 | return 0; |
| 45 | } | 45 | } |
